/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package kingdoms;

import java.awt.Color;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;

/**
 *
 * @author fernando
 */
public class Posicao extends JButton {

    private int linha;
    private int coluna;
    private AtorJogador jogadorDono;
    private Peca peca;
    private ImageIcon imagemVazio;

    public Posicao(final int linha, final int coluna, String nome, ImageIcon imagemVazio) {
//        super(nome);//nao eh necessario nome lol
        this.setForeground(Color.BLUE);
        this.setBackground(Color.LIGHT_GRAY);
        this.imagemVazio = imagemVazio;
        this.setIcon(imagemVazio);
        this.linha = linha;
        this.coluna = coluna;
    }

    //GETTERS e SETTERS
    public int getLinha() {
        return linha;
    }

    public void setLinha(int linha) {
        this.linha = linha;
    }

    public int getColuna() {
        return coluna;
    }

    public void setColuna(int coluna) {
        this.coluna = coluna;
    }

    public AtorJogador getJogadorDono() {
        return jogadorDono;
    }

    public void setJogadorDono(AtorJogador jogadorDono) {
        this.jogadorDono = jogadorDono;
    }

    public Peca getPeca() {
        return peca;
    }

    public void setPeca(Peca peca) {
        this.peca = peca;
        if (peca != null) {
            if(peca.getIcon() == null){
                String nomeImagem = "./imagens/castelo-azul-" + peca.getPontos()+".png";
                try {
                    this.setIcon(new ImageIcon(ImageIO.read(new File(nomeImagem))));
                } catch (IOException ex) {
                    Logger.getLogger(Posicao.class.getName()).log(Level.SEVERE, null, ex);
                }
            }else{
                this.setIcon(peca.getIcon());
            }
        }
    }

    public ImageIcon getImagemVazio() {
        return imagemVazio;
    }

    public void setImagemVazio(ImageIcon imagemVazio) {
        this.imagemVazio = imagemVazio;
    }

    @Override
    public String toString() {
        return "Posicao{" + "linha=" + linha + ", coluna=" + coluna + ", jogadorDono=" + jogadorDono + ", peca=" + peca + '}';
    }

}
